<?php
/**
 * Nweb Editor
 *
 * This script is protected by copyright. Its use, copying, modification
 * and distribution without written consent of the author is prohibited.
 *
 * @category    source
 * @package     pl.nweb.editor.model
 * @subpackage  row
 * @author      Krzysztof Kardasz <krzysztof.kardasz@gmail.com>
 * @copyright   Copyright (c) 2012 Krzysztof Kardasz
 * @license     http://www.gnu.org/licenses/lgpl-3.0.txt  GNU Lesser General Public
 * @version     1.0 $Id$
 * @link        https://nweb-editor.googlecode.com
 * @link        http://editor.nweb.pl
 */

namespace pl\nweb\editor\app\model\gateway\row\content;

use \pl\nweb\editor\app\model\gateway\table\content\Related as Table;

/**
 * Model wiersza tabeli
 *
 * @category    source
 * @package     pl.nweb.editor.model
 * @subpackage  row
 * @author      Krzysztof Kardasz <krzysztof.kardasz@gmail.com>
 * @copyright   Copyright (c) 2012 Krzysztof Kardasz
 * @version     1.0 $Id$
 */
class Related extends \pl\nweb\editor\app\model\gateway\Row
{
    /**
     * Definiuje identyfikator treści
     *
     * @param integer $id identyfikator treści
     * @return void
     */
    public function setContentId ($id)
    {
        if($id = (int)$id) {
            $this->{Table::FIELD_CONTENT_ID} = $id;
        }
    }

    /**
     * Zwraca identyfikator treści
     *
     * @return integer
     */
    public function getContentId ()
    {
        return (int)$this->get(Table::FIELD_CONTENT_ID);
    }

    /**
     * Definiuje 2-znakowy kod języka
     *
     * @param  string $language 2-znakowy kod języka
     * @return void
     */
    public function setLanguage ($language)
    {
        $this->{Table::FIELD_LANGUAGE} = $language;
    }

    /**
     * Zwraca 2-znakowy kod języka
     *
     * @return string
     */
    public function getLanguage ()
    {
        return $this->get(Table::FIELD_LANGUAGE);
    }

    /**
     * Definiuje identyfikator powiązanej treści
     *
     * @param integer $id identyfikator treści
     * @return void
     */
    public function setRelatedId ($id)
    {
        if($id = (int)$id) {
            $this->{Table::FIELD_RELATED_ID} = $id;
        }
    }

    /**
     * Zwraca identyfikator powiązanej treści
     *
     * @return integer
     */
    public function getRelatedId ()
    {
        return (int)$this->get(Table::FIELD_RELATED_ID);
    }

    /**
     * Definiuje typ relacji
     *
     * @param  integer $type typ relacji
     * @return void
     */
    public function setType ($type)
    {
        $this->{Table::FIELD_TYPE} = (int)$type;
    }

    /**
     * Zwraca typ relacji
     *
     * @return integer
     */
    public function getType ()
    {
        return (int)$this->get(Table::FIELD_TYPE);
    }

    /**
     * Zwraca flagę czy jest to podany typ relacji
     *
     * @param  integer $type typ relacji
     * @return boolean
     */
    public function isType ($type)
    {
        return $type == $this->getType();
    }
}